<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="FLlh0" id="FLlh0"><span data-lake-id="u6bf6d9d2" id="u6bf6d9d2">典型回答</span></h1>
  <p data-lake-id="u80d83b36" id="u80d83b36"><br></p>
  <p data-lake-id="u6d55aef9" id="u6d55aef9"><strong><span data-lake-id="u3e766ca8" id="u3e766ca8">3种，分别是单Master模式、多Master模式以及多Master多Slave模式。</span></strong></p>
  <p data-lake-id="ucdce359f" id="ucdce359f"><span data-lake-id="u16e2e5f9" id="u16e2e5f9">​</span><br></p>
  <p data-lake-id="u07bb3e89" id="u07bb3e89"><span data-lake-id="ufed63c19" id="ufed63c19">单Master集群，这是一种最简单的集群方式，只包含一个Master节点和若干个Slave节点。所有的写入操作都由Master节点负责处理，Slave节点主要用于提供读取服务。当Master节点宕机时，集群将无法继续工作。</span></p>
  <p data-lake-id="u9091a969" id="u9091a969"><br></p>
  <p data-lake-id="u1dd66c08" id="u1dd66c08"><span data-lake-id="ua6381bc3" id="ua6381bc3">多Master集群：这种集群方式包含多个Master节点，不部署Slave节点。这种方式的优点是配置简单，单个Master宕机或重启维护对应用无影响，在磁盘配置为RAID10时，即使机器宕机不可恢复情况下，由于RAID10磁盘非常可靠，消息也不会丢（异步刷盘丢失少量消息，同步刷盘一条不丢），性能最高；缺点是单台机器宕机期间，这台机器上未被消费的消息在机器恢复之前不可订阅，消息实时性会受到影响。</span></p>
  <p data-lake-id="u2c45e1f1" id="u2c45e1f1"><br></p>
  <p data-lake-id="ufe786007" id="ufe786007"><span data-lake-id="u02e0081b" id="u02e0081b">多Master多Slave集群：这种集群方式包含多个Master节点和多个Slave节点。每个Master节点都可以处理写入操作，并且有自己的一组Slave节点。当其中一个Master节点宕机时，消费者仍然可以从Slave消费。优点是数据与服务都无单点故障，Master宕机情况下，消息无延迟，服务可用性与数据可用性都非常高；缺点是性能比异步复制模式略低（大约低10%左右），发送单个消息的RT会略高，且目前版本在主节点宕机后，备机不能自动切换为主机。</span></p>
 </body>
</html>